package 内部类;

/*
 *如果一个事物包含另外一个事物，则就是一个类包含另外一个类
 *
 *分类：
 *   1、成员内部类
 *   2、局部内部类（包含匿名内部类）
 *
 *
 * 成员内部类的格式：
 *
 *   修饰符 class 外部类名称(){
 *       修饰符 class 内部类名称(){
 *           //java语句
 *           }
 *       //java语句
 *   }
 *   注意：内部类用外部类可以随意访问
 *        外部类用内部类，需要借助内部类对象
 * =============================================
 *
 * 如何使用成员内部类
 *   1、间接方式：在外部类的方法当中，使用内部类，然后在调用外部类的方法
 *   2、直接方式：
 *          外部类名称.内部类名称  对象名 =new  外部类名称().new 内部类名称();
 * */
public class InnerClass {
    public static void main(String[] args) {
        //间接方式
        Body body = new Body(10);
        body.bodymethod();

        //直接方式
        Body.Heart one = new Body(10).new Heart();
        one.heartmethod();
    }
}
